package com.jiangli.service;

import com.jiangli.dto.MerchantDTO;
import com.jiangli.dto.MerchantPageQueryDTO;
import com.jiangli.dto.MerchantRatingDTO;
import com.jiangli.result.PageResult;
import com.jiangli.result.Result;
import com.jiangli.vo.MerchantDetailVO;
import com.jiangli.vo.MerchantRaingVO;

public interface MerchantService {
    /**
     * 根据用户 喜好 和商家评分推荐商户
     *
     * @param page
     * @param pageSize
     * @param reset
     * @return
     */
     PageResult getRecommendedMerchantByPage(Integer page, Integer pageSize, boolean reset);

    /**
     * 获取商家详细
     * @param id
     * @return
     *
     */
    MerchantDetailVO showDetail(Long id);

    /**
     * 对商家评分
     * @param merchantRatingDTO
     */
    void addRate(MerchantRatingDTO merchantRatingDTO);

    /**
     * 展示商家排名
     * @param page
     * @param pageSize
     * @param reset
     * @return
     */
    PageResult showMerchantRank( Integer page, Integer pageSize, boolean reset);

    /**
     * 获取用户对商家的评分
     * @param userId
     * @param merchantId
     * @return
     */
    MerchantRaingVO getUserMerchantRating(Long userId, Long merchantId);


}
